A possible method for collecting data for network analysis is known as sFlow. As described in RFC-3176, sFlow is a technology designed for network monitoring based on packet sampling. sFlow operates by randomly sampling one out of every “n” data packets at a network device such as a switch, router, wireless access point, etc. The packet header, interface counters, and additional packet information are collected by an sFlow agent residing on the network device. The sFlow agent forwards the captured information to an sFlow collector for processing. For example, an sFlow agent may sample an interface, generate information about the network traffic, and send the information to an sFlow collector, which then analyzes the information.
An sFlow collector typically establishes direct communication with each of the network devices. An sFlow agent may be running on a network device that is controlled by a controlling device (e.g., a wireless controller) or behind a filtering device (e.g., a firewall). In such instances, the control traffic of the sFlow collector may go through a firewall, but the sampled traffic may not be permitted to travel back to the sFlow controller. Moreover, when the sFlow agents are directly and individually configured and communicate to the sFlow controller through the controlling device, the sFlow collector may discard the sampled traffic data, thereby losing potentially relevant information that could have otherwise been used for network management.